package co.edu.udem.domain;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name = "NOTIFICATION")
public class Notification implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "UUID")
	private Integer uuid;

	@Column(name = "SUBJECTCODE")
	private String subjectCode;

	@Column(name = "NOTIFICATIONTYPE")
	private String notificationType;

	@Column(name = "NOTIFICATIONTYPEDESCRIPTION")
	private String notificationTypeDescription;

	@Column(name = "DATE")
	private Date date;

	@Column(name = "TITLE")
	private String title;

	@Column(name = "SHORTDESCRIPTION")
	private String shortDescription;

	@Column(name = "LONGDESCRIPTION")
	private String longDescription;

	@Transient
	private String dateString;

	/**
	 * @return the uuid
	 */
	public Integer getUuid() {
		return uuid;
	}

	/**
	 * @param uuid
	 *            the uuid to set
	 */
	public void setUuid(Integer uuid) {
		this.uuid = uuid;
	}

	/**
	 * @return the subjectCode
	 */
	public String getSubjectCode() {
		return subjectCode;
	}

	/**
	 * @param subjectCode
	 *            the subjectCode to set
	 */
	public void setSubjectCode(String subjectCode) {
		this.subjectCode = subjectCode;
	}

	/**
	 * @return the notificationType
	 */
	public String getNotificationType() {
		return notificationType;
	}

	/**
	 * @param notificationType
	 *            the notificationType to set
	 */
	public void setNotificationType(String notificationType) {
		this.notificationType = notificationType;
	}

	/**
	 * @return the notificationTypeDescription
	 */
	public String getNotificationTypeDescription() {
		return notificationTypeDescription;
	}

	/**
	 * @param notificationTypeDescription
	 *            the notificationTypeDescription to set
	 */
	public void setNotificationTypeDescription(
			String notificationTypeDescription) {
		this.notificationTypeDescription = notificationTypeDescription;
	}

	/**
	 * @return the date
	 */
	public Date getDate() {
		return date;
	}

	/**
	 * @param date
	 *            the date to set
	 */
	public void setDate(Date date) {
		this.date = date;
	}

	/**
	 * @return the title
	 */
	public String getTitle() {
		return title;
	}

	/**
	 * @param title
	 *            the title to set
	 */
	public void setTitle(String title) {
		this.title = title;
	}

	/**
	 * @return the shortDescription
	 */
	public String getShortDescription() {
		return shortDescription;
	}

	/**
	 * @param shortDescription
	 *            the shortDescription to set
	 */
	public void setShortDescription(String shortDescription) {
		this.shortDescription = shortDescription;
	}

	/**
	 * @return the longDescription
	 */
	public String getLongDescription() {
		return longDescription;
	}

	/**
	 * @param longDescription
	 *            the longDescription to set
	 */
	public void setLongDescription(String longDescription) {
		this.longDescription = longDescription;
	}

	public String getDateString() {
		return dateString;
	}

	public void setDateString(String dateString) {
		this.dateString = dateString;
	}

}
